package main

import (
	"GORM_Demo04/part08/MyPojo"
	"fmt"
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

/*	常用方法

【15】Limit：指定获取记录的最大数量
【16】Offset：设置偏移
【17】Scan：将结果扫描到另一个结构体中
*/

func main() {
	db, err := gorm.Open("mysql", "root:123456@tcp(192.168.11.189:3306)/lztest?charset=utf8&parseTime=True&loc=Local")

	if err != nil {
		panic(err)
	}
	defer db.Close()

	db.LogMode(true)

	/*
		【15】Limit：指定获取记录的最大数量
		【16】Offset：设置偏移
		【17】Scan：将结果扫描到另一个结构体中
	*/
	//var users []MyPojo.User
	//【15】Limit：指定获取记录的最大数量
	/*
		//SELECT * FROM `users`   LIMIT 2
		db.Limit(2).Find(&users)
	*/

	//【16】Offset：设置偏移
	/*//SELECT * FROM `users`   LIMIT 2 OFFSET 4
	db.Offset(4).Limit(2).Find(&users)*/

	//【17】Scan：将结果扫描到另一个结构体中

	var user MyPojo.User
	var person Person
	db.Select("u_name,u_age").Where("uid = ?", 2).Find(&user).Scan(&person)

	fmt.Println(person)

}

/*
*
注意结构体字段要和查询出来的字段保持一致
*/
type Person struct {
	UName string
	UAge  int
}
